﻿using System.ComponentModel;

namespace SomethingSpacial.Model
{
    public class LocationModel : INotifyPropertyChanged
    {
        private int _LocationID = 0;
        private string _LocationName = "Main Meeting Location";
        private string _StreetAddress1 = "100 Main Street";
        private string _StreetAddress2 = "Suite 100";
        private string _Comments = "We meet here on most nights";
        private string _City = "Miami";
        private string _State = "FL";
        private string _PostalCode = "33180";
        private string _Country = "US";
        private string _Lat = "28.0000";
        private string _Long = "-98.302";


        public int LocationID
        {
            get
            {
                return _LocationID;
            }
            set
            {
                _LocationID = value;
                NotifyPropertyChanged("LocationID");
            }
        }

        public string LocationName
        {
            get
            {
                return _LocationName;
            }
            set
            {
                _LocationName = value;
                NotifyPropertyChanged("LocationName");
            }
        }

        public string StreetAddress1
        {
            get
            {
                return _StreetAddress1;
            }
            set
            {
                _StreetAddress1 = value;
                NotifyPropertyChanged("StreetAddress1");
            }
        }

        public string StreetAddress2
        {
            get
            {
                return _StreetAddress2;
            }
            set
            {
                _StreetAddress2 = value;
                NotifyPropertyChanged("StreetAddress2");
            }
        }

        public string Comments
        {
            get
            {
                return _Comments;
            }
            set
            {
                _Comments = value;
                NotifyPropertyChanged("Comments");
            }
        }


        public string City
        {
            get
            {
                return _City;
            }
            set
            {
                _City = value;
                NotifyPropertyChanged("City");
            }
        }

        public string State
        {
            get
            {
                return _State;
            }
            set
            {
                _State = value;
                NotifyPropertyChanged("State");
            }
        }

        public string PostalCode
        {
            get
            {
                return _PostalCode;
            }
            set
            {
                _PostalCode = value;
                NotifyPropertyChanged("PostalCode");
            }
        }

        public string Country
        {
            get
            {
                return _Country;
            }
            set
            {
                _Country = value;
                NotifyPropertyChanged("Country");
            }
        }

        public string Lat
        {
            get
            {
                return _Lat;
            }
            set
            {
                _Lat = value;
                NotifyPropertyChanged("Lat");
            }
        }

        public string Long
        {
            get
            {
                return _Long;
            }
            set
            {
                _Long = value;
                NotifyPropertyChanged("Long");
            }
        }


        #region INotifyPropertyChanged Members
        public event PropertyChangedEventHandler PropertyChanged;
        public void NotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        #endregion
    
    }
}
